package com.jrx.anytxn.transaction.dto.loan;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName RepaymentPlanRes
 *  贷款确认及试算响应实体里的还款计划列表响应实体
 * @author  haopu.zheng
 * date  2019/7/22
 * @Version V1.0
 **/
@ApiModel(value = "还款计划列表响应实体", description = "还款计划列表响应实体")
public class RepaymentPlanRes implements Serializable {
    /**
     * 期次
     */
    @ApiModelProperty(value = "期次")
    private Integer billingTenor;
    /**
     * 当前总金额
     */
    @ApiModelProperty(value = "当前总金额")
    private BigDecimal totalAmount;
    /**
     * 当期本金
     */
    @ApiModelProperty(value = "当期本金")
    private BigDecimal principalAmount;
    /**
     * 当期利息
     */
    @ApiModelProperty(value = "当期利息")
    private BigDecimal interestAmount;
    /**
     * 当期费用
     */
    @ApiModelProperty(value = "当期费用")
    private BigDecimal feeAmount;

    /**
     * 还款日
     */
    @ApiModelProperty(value = "还款日")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date paymentDueDate;

    /**
     * 优惠金额
     */
    @ApiModelProperty(value = "优惠金额")
    private BigDecimal exemptAmount;

    public Integer getBillingTenor() {
        return billingTenor;
    }

    public void setBillingTenor(Integer billingTenor) {
        this.billingTenor = billingTenor;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getPrincipalAmount() {
        return principalAmount;
    }

    public void setPrincipalAmount(BigDecimal principalAmount) {
        this.principalAmount = principalAmount;
    }

    public BigDecimal getInterestAmount() {
        return interestAmount;
    }

    public void setInterestAmount(BigDecimal interestAmount) {
        this.interestAmount = interestAmount;
    }

    public BigDecimal getFeeAmount() {
        return feeAmount;
    }

    public void setFeeAmount(BigDecimal feeAmount) {
        this.feeAmount = feeAmount;
    }

    public Date getPaymentDueDate() {
        return paymentDueDate;
    }

    public void setPaymentDueDate(Date paymentDueDate) {
        this.paymentDueDate = paymentDueDate;
    }

    public BigDecimal getExemptAmount() {
        return exemptAmount;
    }

    public void setExemptAmount(BigDecimal exemptAmount) {
        this.exemptAmount = exemptAmount;
    }

}
